home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / misc / emu / Apex-src.lha / ASMSHIFT.XPL < prev    next >
Text File  |  2001-09-30  |  896b  |  47 lines

  1. \ASMSHIFT.XPL    SEP-14-86
  2. \Routine to shift assembly language comments to lower case.
  3.  
  4. code    CHIN=7,        CHOUT=8,    TEXT=12,
  5.     OPENI=13,    OPENO=14,    CLOSE=15;
  6.  
  7. def    CR =$0D, EOF =$1A;
  8.  
  9. int    CH,
  10.     STRING,        \Flag: inside a string
  11.     COMMENT,    \Flag: inside a comment
  12.     FIRST;        \Flag: first char of a comment -- leave capitalized
  13.  
  14.  
  15. begin    \MAIN
  16. TEXT(0,"-- ASMSHIFT, V1.0x2 --
  17.  
  18. SHIFTING...
  19. ");
  20. OPENI(3);
  21. OPENO(3);
  22. STRING:= false;
  23. COMMENT:= false;
  24. loop    begin
  25.     CH:= CHIN(3);
  26.     case CH of
  27.      ^',^":    if not COMMENT then STRING:= not STRING;
  28.      CR:    [COMMENT:= false; STRING:= false];
  29.      ^;:    if not STRING then
  30.             [COMMENT:= true; FIRST:= true];
  31.      EOF:    quit
  32.     other    begin
  33.         if COMMENT then
  34.             begin
  35.             if FIRST then FIRST:= false
  36.             else    begin
  37.                 if CH>=^A then
  38.                     if CH<=^Z then CH:= CH ! $20;
  39.                 end;
  40.             end;
  41.         end;
  42.     CHOUT(3,CH);
  43.     end;
  44. CLOSE(3);
  45. end;    \MAIN
  46. if CH>=^A then
  47.